/*
 This file is part of Darling.

 Copyright (C) 2019 Lubos Dolezel

 Darling is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 Darling is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with Darling.  If not, see <http://www.gnu.org/licenses/>.
*/


#ifndef _Photos_H_
#define _Photos_H_

#import <Foundation/Foundation.h>

#import <Photos/ICCameraDeviceDelegate.h>
#import <Photos/ICDeviceBrowserDelegate.h>
#import <Photos/ICDeviceDelegate.h>
#import <Photos/NSCacheDelegate.h>
#import <Photos/NSFilePresenter.h>
#import <Photos/NSItemProviderReading.h>
#import <Photos/NSItemProviderWriting.h>
#import <Photos/NSPredicateVisitor.h>
#import <Photos/NSProgressReporting.h>
#import <Photos/PHAdjustmentDataRequestDelegate.h>
#import <Photos/PHAssetPropertySet.h>
#import <Photos/PHAssetResourceRequest.h>
#import <Photos/PHAssetResourceRequestDelegate.h>
#import <Photos/PHBatchFetchingArrayDataSource.h>
#import <Photos/PHCPLAssetResource.h>
#import <Photos/PHChangeRequest.h>
#import <Photos/PHCollectionPresentationHints.h>
#import <Photos/PHDeleteChangeRequest.h>
#import <Photos/PHFacePropertySet.h>
#import <Photos/PHFetchDictionaryAccessing.h>
#import <Photos/PHFetchedObject.h>
#import <Photos/PHImageCacheDelegate.h>
#import <Photos/PHImageRequestDelegate.h>
#import <Photos/PHImportDuplicateCheckerItem.h>
#import <Photos/PHImportExceptionRecorder.h>
#import <Photos/PHInsertChangeRequest.h>
#import <Photos/PHMediaRequestContextDelegate.h>
#import <Photos/PHMediaRequestDelegate.h>
#import <Photos/PHMediaRequestThreadingOptions.h>
#import <Photos/PHMomentSharePropertySet.h>
#import <Photos/PHMutableFetchDictionaryAccessing.h>
#import <Photos/PHObjectPropertySet.h>
#import <Photos/PHPerformChangesRequest.h>
#import <Photos/PHPerformChangesRequestService.h>
#import <Photos/PHPhotoLibraryChangeObserver.h>
#import <Photos/PHRecyclableObject.h>
#import <Photos/PHResourceChooserAsset.h>
#import <Photos/PHResourceRepairRequestDelegate.h>
#import <Photos/PHThumbnailAsset.h>
#import <Photos/PHUpdateChangeRequest.h>
#import <Photos/PHVideoRequestDelegate.h>
#import <Photos/PLAlbumProtocol.h>
#import <Photos/PLAssetContainer.h>
#import <Photos/PLAssetID.h>
#import <Photos/PLCloudSharedAlbumProtocol.h>
#import <Photos/PLDiagnosticsProvider.h>
#import <Photos/PLLocalUUIDConverter.h>
#import <Photos/PLResourceIdentity.h>
#import <Photos/PLTrackableRequest.h>
#import <Photos/PLTrackableRequestDelegate.h>
#import <Photos/PLUniformTypeIdentifierIdentity.h>
#import <Photos/PLUserEditableAlbumProtocol.h>
#import <Photos/PLVideoChoosingOptions.h>
#import <Photos/_PLImageLoadingAsset.h>
#import <Photos/_PLThumbnailLoadingAsset.h>
#import <Photos/PHImportDuplicateInfo.h>
#import <Photos/PHImportDuplicateChecker.h>
#import <Photos/PHCompositeMediaResult.h>
#import <Photos/PHPhotosHighlightChangeRequest.h>
#import <Photos/PHSafeNSCacheDelegateReflector.h>
#import <Photos/PHAlbum.h>
#import <Photos/PHCollectionDeleteRequest.h>
#import <Photos/PHSmartAlbumChangeRequest.h>
#import <Photos/PHImageCache.h>
#import <Photos/PHSmartAlbum.h>
#import <Photos/PHProject.h>
#import <Photos/PHFaceGroup.h>
#import <Photos/PHVideoResult.h>
#import <Photos/PHFaceGroupDeleteRequest.h>
#import <Photos/PHSingleMediaRequestContext.h>
#import <Photos/PHPersonSuggestion.h>
#import <Photos/PHMomentList.h>
#import <Photos/PHChangeValidationController.h>
#import <Photos/PHAssetExportRequestOptions.h>
#import <Photos/PHAssetExportRequest.h>
#import <Photos/_PHAnimatedImageLoadOperation.h>
#import <Photos/PHAnimatedImage.h>
#import <Photos/PHAnimatedImageRequestOptions.h>
#import <Photos/PHImageRequest.h>
#import <Photos/PHImportController.h>
#import <Photos/PHMediaResourceResult.h>
#import <Photos/PHImportAvchdAsset.h>
#import <Photos/PHVisionAnalysisUtilities.h>
#import <Photos/PHFaceprint.h>
#import <Photos/PHAssetCollection.h>
#import <Photos/PHInternalAssetExportRequest.h>
#import <Photos/PHMediaRequestContext.h>
#import <Photos/PHAssetDeleteRequest.h>
#import <Photos/PHImageCacheEntry.h>
#import <Photos/PHObjectChangeDetails.h>
#import <Photos/PHVideoRequest.h>
#import <Photos/PHPerformChangesRequest.h>
#import <Photos/PHImportRecord.h>
#import <Photos/PHRecyclableObjectVendor.h>
#import <Photos/PHPersonPLAdapter.h>
#import <Photos/PHKeywordChangeRequest.h>
#import <Photos/PHImportAssetFilePresenter.h>
#import <Photos/PHImportAsset.h>
#import <Photos/PHAssetCreationRequestPlaceholderSupport.h>
#import <Photos/PHAssetCreationRequestPlaceholderSupportNotificationManager.h>
#import <Photos/PHAssetCreationRequestPlaceholderSupportCrashRecovery.h>
#import <Photos/PHObjectDeleteRequest.h>
#import <Photos/PHEntityKeyMap.h>
#import <Photos/PHImageIODecoder.h>
#import <Photos/PHSuggestionMessageMatchingResult.h>
#import <Photos/PHCollectionList.h>
#import <Photos/PHFaceGroupChangeRequest.h>
#import <Photos/PHAdjustmentDataRequestContext.h>
#import <Photos/PHChangeRequestHelper.h>
#import <Photos/PHRelationshipChangeRequestHelper.h>
#import <Photos/PHAssetPLAdapter.h>
#import <Photos/PHImageDecoderAsyncDecodeRequestHandle.h>
#import <Photos/PHImageDecoder.h>
#import <Photos/PHCachingImageManager.h>
#import <Photos/PHImageDisplaySpec.h>
#import <Photos/PHCloudSharedPhoto.h>
#import <Photos/PHCollectionListChangeRequest.h>
#import <Photos/PHPhotosHighlight.h>
#import <Photos/PHPersistentChangeToken.h>
#import <Photos/PHPersistentChangeFetchResult.h>
#import <Photos/PHImportSession.h>
#import <Photos/PHMemoryFeature.h>
#import <Photos/PHMemoryFeatureEncoder.h>
#import <Photos/PHMemoryFeatureDecoder.h>
#import <Photos/PHResourceDownloadRequestOptions.h>
#import <Photos/PHResourceDownloadRequest.h>
#import <Photos/PHMemoryGenerationOptions.h>
#import <Photos/PHMemory.h>
#import <Photos/PHMoment.h>
#import <Photos/PHMemoryChangeRequest.h>
#import <Photos/PHChange.h>
#import <Photos/PHQueryChangeDetectionCriteria.h>
#import <Photos/PHAssetCreationPhotoStreamPublishingRequest.h>
#import <Photos/PHAssetResourceCreationOptions.h>
#import <Photos/PHAssetCreationAdjustmentBakeInOptions.h>
#import <Photos/PHAssetCreationMetadataCopyOptions.h>
#import <Photos/PHAssetCreationOptions.h>
#import <Photos/PHAssetCreationRequest.h>
#import <Photos/_PHAssetCreationRequestValidator.h>
#import <Photos/PHImportUrlSource.h>
#import <Photos/PHResourceRepairRequest.h>
#import <Photos/PHImportExceptionRecorder.h>
#import <Photos/PHThumbnailAsset.h>
#import <Photos/PHFetchOptions.h>
#import <Photos/PHTrashableObjectDeleteRequest.h>
#import <Photos/PHLivePhotoRequestContext.h>
#import <Photos/PHMomentChangeRequest.h>
#import <Photos/PHFaceGroupPLAdapter.h>
#import <Photos/PHFaceCropChangeRequest.h>
#import <Photos/PHAssetResourceWriteRequest.h>
#import <Photos/PHResourceAvailabilityDataStoreManager.h>
#import <Photos/PHImageResult.h>
#import <Photos/PHAssetChangeRequest.h>
#import <Photos/PHContentEditingInputRequestOptions.h>
#import <Photos/PHAssetResource.h>
#import <Photos/PHProjectChangeRequest.h>
#import <Photos/PHImageRequestColorSpace.h>
#import <Photos/PHImageRequestUniformTypeIdentifier.h>
#import <Photos/PHImageRequestResource.h>
#import <Photos/PHPhotoLibrary.h>
#import <Photos/PHSceneClassification.h>
#import <Photos/PHAsset.h>
#import <Photos/PHAssetPropertySet.h>
#import <Photos/PHAssetOriginalMetadataProperties.h>
#import <Photos/PHAssetGridMetadataProperties.h>
#import <Photos/PHAssetPhotosOneUpProperties.h>
#import <Photos/PHAssetLocalDateProperties.h>
#import <Photos/PHAssetPhotosInfoPanelExtendedProperties.h>
#import <Photos/PHAssetPhotosInfoPanelLocationProperties.h>
#import <Photos/PHAssetDescriptionProperties.h>
#import <Photos/PHAssetPhotoCommentProperties.h>
#import <Photos/PHAssetAnalysisStateProperties.h>
#import <Photos/PHAssetSceneAnalysisProperties.h>
#import <Photos/PHAssetUserActivityProperties.h>
#import <Photos/PHAssetPhotoIrisProperties.h>
#import <Photos/PHAssetAdjustmentProperties.h>
#import <Photos/PHAssetCurationProperties.h>
#import <Photos/PHAssetAestheticProperties.h>
#import <Photos/PHAssetMediaAnalysisProperties.h>
#import <Photos/PHAssetImportProperties.h>
#import <Photos/PHAssetSceneprintProperties.h>
#import <Photos/PHAssetDestinationAssetCopyProperties.h>
#import <Photos/PHAssetKeywordProperties.h>
#import <Photos/PHLocallyAvailableResourceBag.h>
#import <Photos/PHCloudInvitation.h>
#import <Photos/PHAdjustmentData.h>
#import <Photos/PHTextFeature.h>
#import <Photos/PHTextFeatureEncoder.h>
#import <Photos/PHTextFeatureDecoder.h>
#import <Photos/PHFaceChangeRequest.h>
#import <Photos/PHImportDeviceAsset.h>
#import <Photos/PHPersonChangeRequest.h>
#import <Photos/PHSuggestionMessageContext.h>
#import <Photos/PHVideoRequestContext.h>
#import <Photos/PHImportBatch.h>
#import <Photos/PHImporter.h>
#import <Photos/PHAssetCollectionChangeRequest.h>
#import <Photos/PHImportDeleteJob.h>
#import <Photos/ICCameraDeviceRemovedItemsCoalescer.h>
#import <Photos/PHImportDeviceSource.h>
#import <Photos/PHResourceAvailabilityJob.h>
#import <Photos/PHPerson.h>
#import <Photos/PHFaceDeleteRequest.h>
#import <Photos/PHExternalAssetResource.h>
#import <Photos/PHResourceChooserList.h>
#import <Photos/PHLivePhoto.h>
#import <Photos/PHLivePhotoCreationOperation.h>
#import <Photos/PHVideoChoosingAndAvailabilityRequest.h>
#import <Photos/PHRelatedCollection.h>
#import <Photos/PHRelatedFetchOptions.h>
#import <Photos/PHChangeBuilder.h>
#import <Photos/PHLibraryChangeRequest.h>
#import <Photos/PHQuestionDeleteRequest.h>
#import <Photos/PHMomentShareDeleteRequest.h>
#import <Photos/PHSandboxExtensionWrapper.h>
#import <Photos/PHCloudIdentifier.h>
#import <Photos/PHFace.h>
#import <Photos/PHFacePropertySet.h>
#import <Photos/PHFaceClusteringProperties.h>
#import <Photos/PHPersonResetOperation.h>
#import <Photos/PHPersonResetManager.h>
#import <Photos/PHMomentShareParticipantChangeRequest.h>
#import <Photos/PHSuggestionDeleteRequest.h>
#import <Photos/PHQuestionChangeRequest.h>
#import <Photos/PHPersistentChangeFetchRequest.h>
#import <Photos/PHImageRequestContext.h>
#import <Photos/PHObjectDeleteValidator.h>
#import <Photos/PHMediaRequest.h>
#import <Photos/PHObject.h>
#import <Photos/PHObjectPlaceholder.h>
#import <Photos/PHMemoryPresentationHints.h>
#import <Photos/PHObjectReference.h>
#import <Photos/PHAssetReference.h>
#import <Photos/PHCollectionReference.h>
#import <Photos/PHAssetCollectionReference.h>
#import <Photos/PHCollectionListReference.h>
#import <Photos/PHPersonReference.h>
#import <Photos/PHImageManagerRequestTracer.h>
#import <Photos/PHMomentShareChangeRequest.h>
#import <Photos/PHMomentShareParticipant.h>
#import <Photos/PHQuery.h>
#import <Photos/PHPhotoRepresentation.h>
#import <Photos/PHCloudSharedAssetExportRequest.h>
#import <Photos/PHContentEditingOutput.h>
#import <Photos/PHContentEditingOutputRequestOptions.h>
#import <Photos/PHSuggestionChangeRequest.h>
#import <Photos/PHImageResourceChooser.h>
#import <Photos/PHQueryPersonContext.h>
#import <Photos/PHAssetResourceRequestOptions.h>
#import <Photos/PHAssetResourceManager.h>
#import <Photos/PHContentEditingInputRequestContext.h>
#import <Photos/PHContentEditingInput.h>
#import <Photos/PHImportTimerCollection.h>
#import <Photos/PHImportTimer.h>
#import <Photos/PHSuggestion.h>
#import <Photos/PHLivePhotoResult.h>
#import <Photos/PHObjectPLAdapter.h>
#import <Photos/DurationGroup.h>
#import <Photos/PHImportResults.h>
#import <Photos/PHImportOptions.h>
#import <Photos/PHMomentSharePreview.h>
#import <Photos/PHPhotosHighlightDeleteRequest.h>
#import <Photos/PHPhotoLibraryAppPrivateData.h>
#import <Photos/PHAssetResourceQualityClass.h>
#import <Photos/PHVideoRequestBehaviorSpec.h>
#import <Photos/PHMemoryDeleteRequest.h>
#import <Photos/PHImportAssetDataRequest.h>
#import <Photos/PHImportAssetDataResponse.h>
#import <Photos/PHImportSource.h>
#import <Photos/PHCollection.h>
#import <Photos/PHCollectionListAncestryContext.h>
#import <Photos/PHResourceAvailabilityRequest.h>
#import <Photos/PHFacePLAdapter.h>
#import <Photos/PHAvailabilityRequest.h>
#import <Photos/PHAssetResourceRequest.h>
#import <Photos/PHMomentShare.h>
#import <Photos/PHValidator.h>
#import <Photos/_PHValidation.h>
#import <Photos/PHAdjustmentDataResult.h>
#import <Photos/PHBatchFetchingArray.h>
#import <Photos/PHMomentShareParticipantDeleteRequest.h>
#import <Photos/PHPreviewImageRequest.h>
#import <Photos/PHPlaceholderImageHelper.h>
#import <Photos/PHKeyword.h>
#import <Photos/PHContentEditingInputResult.h>
#import <Photos/PHResourceAvailabilityChangeRequest.h>
#import <Photos/PHFaceCrop.h>
#import <Photos/PHAssetResourceValidatedContext.h>
#import <Photos/_PHPhotoLibraryValidator.h>
#import <Photos/PHAssetResourceBag.h>
#import <Photos/PHFetchResultChangeDetails.h>
#import <Photos/PHConcurrentMapTable.h>
#import <Photos/PHImageRequestBehaviorSpec.h>
#import <Photos/PHKeywordDeleteRequest.h>
#import <Photos/PHAssetComment.h>
#import <Photos/PHLivePhotoEditingContext.h>
#import <Photos/PHPhotoMaster.h>
#import <Photos/PHFigDecoder.h>
#import <Photos/PHImportException.h>
#import <Photos/PHChangeRequest.h>
#import <Photos/PHCloudSharedAlbum.h>
#import <Photos/PHPersonDeleteRequest.h>
#import <Photos/PHImageRequestOptions.h>
#import <Photos/PHLivePhotoRequestOptions.h>
#import <Photos/PHVideoRequestOptions.h>
#import <Photos/PHImageManager.h>
#import <Photos/PHLivePhotoExportSession.h>
#import <Photos/PHLivePhotoExportSessionOptions.h>
#import <Photos/PHAdjustmentDataRequestBehaviorSpec.h>
#import <Photos/PHAdjustmentDataRequest.h>
#import <Photos/_PHFetchRequestWrapper.h>
#import <Photos/PHFetchResult.h>
#import <Photos/PHManualFetchResult.h>
#import <Photos/PHUnauthorizedFetchResult.h>
#import <Photos/PHMediaResourceRequest.h>
#import <Photos/PHFaceCropDeleteRequest.h>
#import <Photos/PHQuestion.h>

void* NSStringFromPHErrorCode(void);
void* PHAdjustmentBaseVersionDescription(void);
void* PHAssertPredicateContainsNoManagedObjects(void);
void* PHAssetCanPerformAdditionalProcessingOnAsset(void);
void* PHAssetDeferredProcessingNeededDescription(void);
void* PHAssetExportRequestAssetAvailabilityDescription(void);
void* PHAssetExportRequestCopyFileURL(void);
void* PHAssetExportRequestCreateOutputDirectory(void);
void* PHAssetExportRequestCustomAccessibilityLabelForAsset(void);
void* PHAssetExportRequestCustomDateForAssetWithOptions(void);
void* PHAssetExportRequestError(void);
void* PHAssetExportRequestFilenameForAsset(void);
void* PHAssetExportRequestLocationMetadataOperationForAssetWithOptions(void);
void* PHAssetExportRequestMediaFormatConversionManager(void);
void* PHAssetExportRequestNeedsColorSpaceConversionForAssetWithOptions(void);
void* PHAssetExportRequestNeedsCustomAccessibilityLabelBakedInForAssetWithOptions(void);
void* PHAssetExportRequestPerformAdditionalProcessingOnFile(void);
void* PHAssetExportRequestPerformMediaConversion(void);
void* PHAssetExportRequestStateDebugDescription(void);
void* PHAssetLocationCoordinatesAreEqual(void);
void* PHAssetMediaAnalysisStringWithSingleAudioClassification(void);
void* PHAssetMediaAnalysisStringsWithMultipleAudioClassifications(void);
void* PHAssetMediaSubtypesDebugDescription(void);
void* PHAssetMediaTypeDebugDescription(void);
void* PHAssetOriginalCreationDateForAsset(void);
void* PHAssetOriginalLocationForAsset(void);
void* PHAssetPlaybackStyleDebugDescription(void);
void* PHAssetPlaybackVariationDebugDescription(void);
void* PHAssetResourceAnalysisTypeDescription(void);
void* PHChooserListContinueEnumerating(void);
void* PHChooserListMoveFirst(void);
void* PHChooserListSetSortDescriptor(void);
void* PHChoosingPolicyName(void);
void* PHCollectionPresentationHintsStringFromQualityCategory(void);
void* PHCollectionPresentationHintsStringFromTemporalRange(void);
void* PHCollectionPresentationHintsStringFromTripType(void);
void* PHCollectionPresentationHintsStringsFromSocialRelationships(void);
void* PHCopyUniformTypeIdentifierFromFileURL(void);
void* PHCopyUniformTypeIdentifierFromFilename(void);
void* PHDecodeImageFromStoreForRequest(void);
void* PHDecodeImageFromURLForRequest(void);
void* PHDescriptionForPhotosHighlightCategory(void);
void* PHDescriptionForPhotosHighlightKind(void);
void* PHDescriptionForPhotosHighlightType(void);
void* PHDescriptionsForResourceTypes(void);
void* PHDeviceSupportsRAW(void);
void* PHErrorFromPLError(void);
void* PHFetchDictionaryAccessingMutableCopy(void);
void* PHFullScreenSizeForScreen(void);
void* PHGenerateCropRectGivenNormalizedCropRect(void);
void* PHImageManagerRecordEnabled(void);
void* PHIsImageAssetResourceType(void);
void* PHIsVideoAssetResourceType(void);
void* PHMemoryMoodForString(void);
void* PHMemoryValidatedMemoryCategory(void);
void* PHMemoryValidatedMemorySubcategory(void);
void* PHMomentAggregationScoreFromAggregationScoreType(void);
void* PHOriginalChoiceDebugDescription(void);
void* PHPhotosHighlightVisibilityStateIsVisibleInMonth(void);
void* PHQueryTransformExpressionConstantValue(void);
void* PHSanitizeNormalizedCropRect(void);
void* PHScaleImageFromURL(void);
void* PHShortDescriptionForPhotosHighlightCategory(void);
void* PHShortDescriptionForPhotosHighlightEnrichmentState(void);
void* PHShortDescriptionForPhotosHighlightKind(void);
void* PHShortDescriptionForPhotosHighlightType(void);
void* PHShortDescriptionForPhotosHighlightVisibilityState(void);
void* PHSignpostEventsEnabled(void);
void* PHSizeScale(void);
void* PHSizeScaleToFillSize(void);
void* PHSizeScaleToFitSize(void);
void* PHStringForMemoryMood(void);
void* PHSuggestionNotificationStateStringWithNotificationState(void);
void* PHSuggestionStateStringWithState(void);
void* PHSuggestionStringWithSubtype(void);
void* PHSuggestionStringWithType(void);
void* PHUniformTypeIdentifierConformsToResourceType(void);
void* PHUniformTypeIdentifiersForResourceType(void);
void* PHUnpackDownloadStatusNotification(void);
void* PHVariationSuggestionStatesFromPLStatesAndType(void);
void* PHVideoComplementVisibilityStateHasFullEditingSupport(void);
void* PHVideoComplementVisibilityStateIsEvaluated(void);
void* PHVideoComplementVisibilityStateIsExplicit(void);
void* PHVideoComplementVisibilityStateIsHidden(void);
void* PHVideoComplementVisibilityStateIsPlayable(void);
void* PLImageManagerRecordEnabled(void);
void* PLObjectIDOrUUIDFromPHObject(void);
void* PLVariationSuggestionTypeStatesFromPHStatesAndType(void);
void* _CreationDatesInLibraryAndOriginalMetadataAreSame(void);
void* _FastHashForPredicate(void);
void* _FastValueHashForExpression(void);
void* _LocationsMatchUsingComparisonStrategy(void);
void* _PHAllAssetMediaSubtypes(void);
void* _PHAssetResourceTypeDescription(void);
void* _PHResourceDownloadRequestResourceAvailabilityDescription(void);
void* _PHResourceDownloadRequestResourceTypeDescription(void);
void* _PrimaryPLResourceTypeForPrimaryPHResourceType(void);
void* _assetKindForMediaType(void);
void* _assetSubtypeForMediaSubtypes(void);
void* _fetchNonHintResources(void);
void* _presentFullResourceAtIndex(void);
void* _presentResourcesFromHintsUntilStop(void);
void* _sortedResourcesFromResources(void);
void* assertOnQueue(void);
void* dumpCGImage(void);
void* importConcurrencyLimit(void);

#endif
